package com.jctrip.hotel.route.model.param;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;

@ApiModel(value = "下单接口-请求体")
@Data
public class PostOrderParam {

    @ApiModelProperty(value = "酒店唯一编号", required = true)
    private String hotelId;

    @ApiModelProperty(value = "房型编号", required = true)
    private String roomTypeCode;

    @ApiModelProperty(value = "价格政策对外编号", required = true)
    private String pricePolicyCode;

    @ApiModelProperty(value = "渠道订单号", required = true)
    private String routeOrderId;

    @ApiModelProperty(value = "渠道扩展订单号", required = false)
    private String routeExtendOrderId;

    @ApiModelProperty(value = "渠道频道编号", required = false)
    private String routeChannelCode;

    @ApiModelProperty(value = "入住间数", required = true)
    private Integer roomCount;

    @ApiModelProperty(value = "入住人数", required = true)
    private Integer occupancy;

    @ApiModelProperty(value = "入住日期(yyyy-MM-dd)", required = true)
    private String arriveDate;

    @ApiModelProperty(value = "离店日期(yyyy-MM-dd)", required = true)
    private String departDate;

    @ApiModelProperty(value = "最晚到店时间(yyyy-MM-dd HH:mm:ss)", required = true)
    private String latestArriveTime;

    @ApiModelProperty(value = "支付金额", required = true)
    private BigDecimal paymentPrice;

    @ApiModelProperty(value = "应收金额(底价模式必填)", required = false)
    private BigDecimal receivablePrice;

    @ApiModelProperty(value = "每日价格列表(JSON格式)", required = false)
    private String dailyPriceList;

    @ApiModelProperty(value = "入住人(多人，逗号分隔)", required = true)
    private String guestName;

    @ApiModelProperty(value = "入住人电话", required = false)
    private String guestTel;

    @ApiModelProperty(value = "联系人", required = true)
    private String contactName;

    @ApiModelProperty(value = "联系人电话", required = false)
    private String contactTel;

    @ApiModelProperty(value = "联系邮箱", required = false)
    private String contactEmail;

    @ApiModelProperty(value = "渠道酒店编号", required = false)
    private String routeHotelId;

    @ApiModelProperty(value = "渠道酒店名称", required = false)
    private String routeHotelName;

    @ApiModelProperty(value = "渠道房型编号", required = false)
    private String routeRoomTypeCode;

    @ApiModelProperty(value = "渠道房型名称", required = false)
    private String routeRoomTypeName;

    @ApiModelProperty(value = "渠道房价计划编号", required = false)
    private String routeRatePlanCode;

    @ApiModelProperty(value = "渠道房价计划名称", required = false)
    private String routeRatePlanName;

    @ApiModelProperty(value = "库存类型(0=未知；1=限售库存；2=保留房库存；3=物理库存；4=超预定库存", required = false)
    private Integer stockType;

    @ApiModelProperty(value = "商旅-企业统一支付(0=否；1=是)", required = false)
    private Integer companyPayment;

    @ApiModelProperty(value = "商旅-企业名称", required = false)
    private String companyName;

    @ApiModelProperty(value = "支付编号", required = false)
    private String paymentId;

    @ApiModelProperty(value = "订单备注", required = false)
    private String orderNotes;

    @ApiModelProperty(value = "给供应的订单备注", required = false)
    private String orderNotes2Source;

    @ApiModelProperty(value = "龙腾特判早餐", required = false)
    private Integer breakfast;
}
